home *** CD-ROM | disk | FTP | other *** search
-
-
- Recorder V1.2
- -------------
-
- Released March, 27th 1996
-
-
- Written and Copyright ©1991/1996 by Oliver Grimm.
-
-
-
-
- 1. COPYRIGHT
- ============
-
- Both the program 'Recorder' and this documentation are copyrighted
- by me, but they are public domain software. That means you can use
- and spread them legally without paying any contributions (But I wouldn't
- reject them, too ..) as long as everything remains unmodified, and only
- the complete archive, program plus documention, is distributed.
-
-
-
- 2. DISCLAIMER
- =============
-
- As usual, no warranty for anything ...
-
-
-
- 3. INTRODUCTION
- ===============
-
- Whenever you hit a key, move the mouse, insert or remove a disk,
- resize a window, or basically make any kind of input to your computer,
- the operating system creates something that is called an 'input event'.
- That's a structure that is sent to all programs that wish to be informed
- about those things, and it includes all the information about your
- action, ie. the number of the key that you have pressed, the new
- position of your mouse pointer if the mouse has been moved, and so on.
-
- Now imagine you have to repeat the same input several times, eg. you
- have to type certain commands or click certain gadgets in a specific
- order, and there is, for some reason, no way in which you could
- automate this, by writing a script, for instance.
-
- Here, this program could help you. You could start Recorder, do your
- input once, and this program would save all the input events that have
- been generated by you in a file. Then you could play back all these
- inputs, and to all applications it will look like you are doing
- all inputs again, but actually they are 'fed' into the operating
- system by Recorder.
-
-
-
- 4. USAGE
- ========
-
- So far, Recorder has no GUI, so you have to start it from a command
- shell.
- The general parameter pattern of the program is the following, where
- parameters in [] are optional and (..|..|..) means you can choose one
- of the options:
-
-
- Recorder -(r|p[q]|a[q]) FILENAME
-
-
- There are three operating modes, record, play and append, which
- are chosen by the first parameter:
-
- -r Record incoming input events and store them in the
- file with the name FILENAME
-
- -p Play input events stored in the file FILENAME
-
- -a First play input events stored in the file FILENAME,
- then record more and append them to this file
-
- If you choose play or append, the input events are normally played
- back at the same speed as they were recorded. However, when you add 'q'
- to the first parameter, ie. -pq or -aq, there is a fixed delay of
- 1/50 second between all events.
-
- You have to keep in mind that the recorded events usually have some
- 'meaning', you might, for example, start a program by typing its name
- and then click some gadgets. If you play back these input events with
- the 'q' option, the start-up of the program might not be finished when
- Recorder is already feeding the mouse clicks into the input stream, and
- therefore the gadgets are not clicked properly because they are not
- there, yet.
- So be careful with this option !
-
- It is not necessary to use the 'Run' command to start the program.
- It detaches itself automatically from the shell, so that you can
- continue to work in the same shell.
-
- Recording does not start immediately after the program has been started,
- but after you've pressed the key sequence Control-Left Amiga-'s'.
- With the same sequence you can also stop recording, which
- also ends the program.
- Playing works similar: It's started - and stopped if you don't want
- to play everything back - with Control-Left Amiga-'s'.
-
- In append mode, the input events are first played back normally, and
- then the program switches to record mode, and you have to start recording
- again with the mentioned key sequence. However, if you terminate
- play back early in append mode, you can't add new events and the program
- ends.
-
- Since Recorder always works in the background, there are not many ways
- to communicate with the user without disturbing other programs.
- Therefore, whenever Recorder wants to tell you something, it sends
- a 'Display Beep' to all screens.
- It does so under the following circumstances:
-
- 1) Whenever you press the control sequence to start or stop
- action to acknowlege your command.
- 2) When play back has finished. In append mode that means that
- the program is now waiting again for the control sequence
- to start recording again.
- 3) When the second internal buffer is full and the first one
- isn't written to the file yet. Then the program terminates,
- and the events in the internal buffers are saved.
- However, this should usually never happen, even if you are
- writing to a floppy disk (see section 7).
-
-
-
- 5. WHAT DOES RECORDER RECORD ?
- ==============================
-
- Not all possible input events are recorded - it wouldn't make any
- sense to record and play back a 'disk inserted' event, when there
- actually hasn't been a disk inserted !
- In fact, all that is recorded are keyboard, mousemove and mousebutton
- events, so when you click a 'Load File' gadget in a program, you
- still have to insert the disk yourself ! So far, Recorder can't
- simulate that.
- Actually, sometimes Recorder does record an event which hasn't really
- happend. It is generated by Recorder whenever you start recording.
- You might have noticed that the mouse pointer sometimes 'jumps' when
- you start play back. This is so because a lot of events generated
- by moving the mouse only give relative positions, ie. the distance
- from the last mouse position. Therefore it is necessary that the mouse
- pointer is, at the beginning of playback, at the same position as it
- was at the beginning of recording.
-
-
-
- 6. COMPATIBILITY
- ================
-
- The program should work on all Amiga's. If not, please drop me a note
- so I can fix that.
-
-
-
- 7. HOW DOES IT WORK
- ===================
-
- This program installs, by means of the input device, an input handler
- at high priority (80, in fact), so that all input events pass through
- this handler (If there is no input handler at higher priority which
- might filter some events).
- These events are passed through unmodified, but also stored first
- in a memory buffer and eventually in a file. The program actually
- uses two buffers, and if one fills up the other one is used while the
- first one is stored on disk, so that continuous recording is possible.
- Should it happen that the second buffer fills up before the first one
- has been written to the file, recording is terminated, and all the
- so far recorded events are saved.
- However, each buffer can hold about 1000 events, and an overflow
- shouldn't occur, even if one writes to disk and moves the mouse
- rapidly.
- In play back mode, the stored events are fed into the input stream
- by the same handler.
-
-
-
-
- ----------------------
-
-
-
-
- If you have any suggestions or complains, would like to have a new
- function implemented, if you find any bugs or, of course, would like
- to send me any gifts (A postcard, maybe ?), here's my address:
-
-
- Oliver Grimm
- Steinbecker Str.69
- 21244 Buchholz
- Germany
-
- E-Mail: grimm@physnet.uni-hamburg.de
-